C语言 实现十进制转二十六进制 |
您所在的位置:网站首页 › 10进制转ascii c语言 › C语言 实现十进制转二十六进制 |
比如说给出一个十进制数字,如何将他转为以字母为形式的二十六进制呢? 这里提供两个思路方法 方法一:以字母为单位结合光标前移操作 #include #include int main() { //创建26进制数组,把二十六个字母储存在一个诉诸中 char n[27]; int i; for (i = 1; i < 27; i++) { n[i] = 'A' + i - 1; }//这里是利用ASCII码把字母全部储存 //输入十进制数字 int x; scanf("%d", &x); //定义储存字母的数组,也就是说转进制后的字母会以数组的方式储存 char m[1000]; int j = -1; //开始转进制 得到逆向的字符串 while (x != 0) { j++; int ret; ret = x % 26;//得到了除以26的余数 m[j] = n[ret];把这个余数和一开始储存的数组做一个转换 x /= 26; printf("'\b'");//把光标前移一位 } return 0; } 复制代码方法二:先得到逆序的二十六进制数,再通过倒序实现 #include #include int main() { //创建26进制数组 char n[27]; int i; for (i = 1; i < 27; i++) { n[i] = 'A' + i - 1; } //输入 int x; scanf("%d", &x); //定义储存26进制字母的数组 char m[1000]; int j = -1; //开始转进制 得到逆向的字符串 while (x != 0) { j++; int ret; ret = x % 26; m[j] = n[ret]; x /= 26; } j = j + 1; //把逆向的字符串正向输出 while (j--) { printf("%c", m[j]); } return 0; } 复制代码一个操作是把光标前移,一个是将错就错得到逆序的字符串,再多一步逆序。 输入 1 输出 A 输入36 输出AJ 输入 66666 输出CTPB |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |